跳到主要内容

ComfyUI 源码学习

了解一个框架的最简单方式就是看它每个主流程是干什么的,这样才能找到能拓展的地方,因为这个项目比较特殊,是节点式的,所以我们就看看节点的生命周期

前端交互部分

setup 启动的时候

// 1. 加载外部拓展 
await this.#loadExtensions();

// 0. 从 API 加载 js 拓展文件以便动态加载
// 1. 创建 LGraph 画布,调整窗口大小等基础画布设置
// 2. 注册各种 Node 节点
// 3. 配置 workflow 自动存储和装载功能,并且从 localStorage 里面加载数据
// 4. 创建一个状态中心用于使用 websocket 连接通信更新状态
// 5. 围绕着画布和状态中心的各种状态注册处理程序
//
// Node 重新加载是从下面这里创建的
// https://vscode.dev/github/alsritter/py-graph/blob/type/web/lib/litegraph.core.js#L2215